package xyz.xtt.asset.service;

import xyz.xtt.asset.entity.TblAssetTransaction;
import xyz.xtt.asset.request.MystryBoxMessage;
import xyz.xtt.user.client.response.UserInfoResponse;

/**
 * 盲盒
 * 
 * @author huqibo
 * @date 2025/01/19
 */
public interface IMystryBoxService {
	/**
	 * 发送开盲盒请求
	 * 
	 * @param transaction
	 * @return
	 */
	Boolean sendOpen(TblAssetTransaction transaction);

	/**
	 * @param transactionId
	 * @param assetId
	 * @param totalAmount
	 * @param appUid
	 * @param bizType
	 */
	void sendOpen(Long transactionId, Long assetId, String totalAmount, Long appUid, String bizType, Boolean append);

	/**
	 * 发放盲盒
	 * 
	 * @param msg
	 * @return
	 */
	Boolean sendMystryBox(MystryBoxMessage msg);

	/**
	 * 发放盲盒
	 * 
	 * @param msg
	 * @return
	 */
	Boolean sendOpen(TblAssetTransaction transaction, String bizType, Boolean append);

	/**
	 * 补发卡片
	 * 
	 * @param transactionId
	 * @return
	 */
	Boolean sendMystryCard(Long transactionId);

	void sendOpen(Long transactionId, Long assetId, String totalAmount, UserInfoResponse info, String bizType, Boolean append);
}
